﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using sistem;

namespace sistem
{
    public partial class AdministratorKorisniciKontrola : UserControl
    {
        List<Korisnik> korisnici = new List<Korisnik>();
        List<Korisnik> korisniciReserve = new List<Korisnik>();

        public AdministratorKorisniciKontrola()
        {
            InitializeComponent();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            DodavanjeKorisnikaForma noviKorisnik = new DodavanjeKorisnikaForma(this);
            noviKorisnik.Show();
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            UredjivanjeKorisnikaForma urediKorisnika = new UredjivanjeKorisnikaForma((Korisnik)listBox1.SelectedItem);
            urediKorisnika.Show();
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {/*
            if (listBox1.SelectedItem != null)
            {
                try
                {
                    Predmet lbp = new Predmet();
                    lbp = (Predmet)listBox1.SelectedItem;
                    DAL.DAL d = DAL.DAL.Instanca;
                    d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                    d.getDAO.getPredmetDAO().delete(lbp);
                    d.terminirajKonekciju();
                    korisnici.RemoveAt(listBox1.SelectedIndex);
                    d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                    korisnici = d.getDAO.getKorisnikDAO().getAll();
                    d.terminirajKonekciju();
                    List<ProfesorPredmetVeza> veze = new List<ProfesorPredmetVeza>();
                    d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                    veze = d.getDAO.getProfesorPredmetVezaDAO().getAll();
                    d.terminirajKonekciju();
                    List<Profesor> profesori = new List<Profesor>();
                    d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                    profesori = d.getDAO.getProfesorDAO().getAll();
                    d.terminirajKonekciju();
                    for (int i = 0; i < korisnici.Count; i++)
                    {
                        korisnici[i].ProfesoriPredavaci = new List<Profesor>();
                        for (int j = 0; j < veze.Count; j++)
                            if (predmeti[i].ID == veze[j].PredmetID)
                            {
                                for (int k = 0; k < profesori.Count; k++)
                                    if (profesori[k].ID == veze[j].ProfesorID)
                                        predmeti[i].ProfesoriPredavaci.Add(profesori[k]);
                            }
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Došlo je do pogreške prilikom rada s bazom podataka", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                if (toolStripTextBox1.Text == "")
                {
                    listBox1.DataSource = predmetiReserve;
                    listBox1.DataSource = predmeti;
                }
                else
                {
                    predmetiReserve.Clear();
                    for (int i = 0; i < predmeti.Count; i++)
                    {
                        if (predmeti[i].ToString().ToUpper().Contains(toolStripTextBox1.Text.ToUpper()))
                            predmetiReserve.Add(predmeti[i]);
                    }
                    listBox1.DataSource = predmeti;
                    listBox1.DataSource = predmetiReserve;
                }
            }*/
        }

        private void AdministratorKorisniciKontrola_Load(object sender, EventArgs e)
        {
            try
            {
                DAL.DAL d = DAL.DAL.Instanca;
                d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                korisnici = d.getDAO.getKorisnikDAO().getAll();
                d.terminirajKonekciju();
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške prilikom rada s bazom podataka", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            listBox1.DataSource = korisnici;
        }

        private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
        {
            if (toolStripTextBox1.Text == "")
            {
                listBox1.DataSource = korisniciReserve;
                listBox1.DataSource = korisnici;
            }
            else
            {
                korisniciReserve.Clear();
                for (int i = 0; i < korisnici.Count; i++)
                {
                    if (korisnici[i].ToString().ToUpper().Contains(toolStripTextBox1.Text.ToUpper()))
                        korisniciReserve.Add(korisnici[i]);
                }
                listBox1.DataSource = korisnici;
                listBox1.DataSource = korisniciReserve;
            }
        }

        public void FormReload()
        {
            try
            {
                DAL.DAL d = DAL.DAL.Instanca;
                d.kreirajKonekciju("127.0.0.1", "skola", "root", "");
                korisnici = d.getDAO.getKorisnikDAO().getAll();
                d.terminirajKonekciju();
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške prilikom rada s bazom podataka", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            toolStripTextBox1.Text = "";
            korisniciReserve.Clear();
            listBox1.DataSource = korisniciReserve;
            listBox1.DataSource = korisnici;
        }

        private void listBox1_MouseUp(object sender, MouseEventArgs e)
        {
            if (listBox1.SelectedItem != null)
            {
                Korisnik k = new Korisnik();
                k = (Korisnik)listBox1.SelectedItem;
                label11.Text = k.Ime;
                label12.Text = k.Prezime;
                label13.Text = k.Username;
                label14.Text = k.JMBG;
                label15.Text = k.DatumRodjenja.ToString("dd.MM.yyyy.");
                label16.Text = k.Nacionalnost;
                label17.Text = k.Adresa;
                label18.Text = k.Telefon;
                label19.Text = k.Email;
                label20.Text = k.Tip;
            }
        }
    }
}
